package com.swanclouds.model.account.builder.BMC;

import com.swanclouds.common.Buildable;

import java.util.List;

/**
 * Oem.BMC 更新用户组(角色)
 * @author 张立强
 * @version jdk1.8.0
 */
public interface BMCUpdateRoleBuilder extends Buildable.Builder<BMCUpdateRoleBuilder, BMCUpdateUserGroup> {

    /**
     * Redfish 定义的权限类型
     * <p>
     * BMC: "ConfigureComponents","ConfigureManager","ConfigureUsers","ConfigureSelf","Login"
     * ConfigureComponents:常规配置,ConfigureManager:管理配置,ConfigureUsers:用户配置,ConfigureSelf:配置自身,Login:登录
     * <p>
     * @param assignedPrivileges the assigned privileges
     * @return BMCUpdateRoleBuilder
     */
    BMCUpdateRoleBuilder AssignedPrivileges(List<String> assignedPrivileges);
    BMCUpdateRoleBuilder AddAssignedPrivilege(String assignedPrivilege);

    /**
     * 服务器自定义的权限类型
     * <p>
     * BMC: SNMP,Vmedia,KVM
     * <p>
     * @param oemPrivileges the oem privileges
     * @return BMCUpdateRoleBuilder
     */
    BMCUpdateRoleBuilder OemPrivileges(List<String> oemPrivileges);
    BMCUpdateRoleBuilder AddOemPrivilege(String oemPrivilege);
}
